package com.maimao.model.kill;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 单品秒杀条件
 *
 * @author MaoLin Wang
 * @date 2021/4/10 5:17 下午
 */
@Setter
@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("mm_kill_requirement")
public class KillRequirement {

    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 活动id
     */
    @TableField("activityId")
    @NotNull(message = "请选择活动")
    private Integer activityId;

    /**
     * 商家最小折扣(折扣值，非折扣力度)
     */
    @TableField("discountMin")
    private BigDecimal discountMin;

    /**
     * 商家最大折扣(折扣值，非折扣力度)
     */
    @TableField("discountMax")
    private BigDecimal discountMax;

    /**
     * 参加活动的sku最低总库存
     */
    @TableField("stock")
    private Integer stock;

    /**
     * 活动冷却期 某个商品参与后多少日内不能再次参加
     */
    @TableField("dayLimit")
    private Integer dayLimit;

    /**
     * 商品好评率 如好评率80% 则该值为80
     */
    @TableField("goodsGoodRate")
    private Integer goodsGoodRate;

    /**
     * 好评率时间限制 几个月内的好评率
     */
    @TableField("goodRateMonthLimit")
    private Integer goodRateMonthLimit;

    /**
     * 排期开始时间为止，几日内算新品 （新品不可参与秒杀）
     */
    @TableField("newGoodsDayLimit")
    private Integer newGoodsDayLimit;

    @Override
    public String toString() {
        return "KillRequirement{" +
                "activityId=" + activityId +
                ", discountMin=" + discountMin +
                ", discountMax=" + discountMax +
                ", stock=" + stock +
                ", dayLimit=" + dayLimit +
                ", goodsGoodRate=" + goodsGoodRate +
                ", goodRateMonthLimit=" + goodRateMonthLimit +
                ", newGoodsDayLimit=" + newGoodsDayLimit +
                '}';
    }
}
